//  yeild关键 暂停执行  返回后面的表达式  。 首次调用生成器函数 返回一个迭代器，里面的逻辑并不会立即执行，需要调用next方法才会继续执行，遇到yield关键字会暂停，暂停的是下一行代码的开始执行，yeild 后的表达式已经执行了。
function* fn(val){
    console.log('start', val)
  let p1 = yield (console.log('到底执行没有，看来已经执行了'))
// yeild默认是没有返回值的， 它返回的是下一个 next()里面传入的参数
  console.log('继续', p1, val)

  let p2 = yield 78
  console.log('结束', p2, val)

}

let it  = fn(0) ;
it.next(1) ;
// 用next给生成器函数传参。
it.next(3)
it.next(5)